package util;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;

/**
 * Definiert Konstanten, die programmweit gelten.
 * 
 */
public class Config {

    public final static int MAX_SPALTEN = 10;
    public final static int MAX_ZEILEN = 10;

    // Hinweisnummern
    public final static int HIN_NR_KEIN_ZULAESSIGER_BEREICH = 1;
    public final static int HIN_NR_KEIN_OPTIMUM = 2;
    public final static int HIN_NR_KEINE_LOESUNG = 3;
    public final static int HIN_NR_UNEND_LOESUNGEN = 4;
    public final static int HIN_NR_EINE_LOESUNG = 5;
    public final static int HIN_NR_SONDERFALL_NULL = 6;
    public final static int HIN_NR_STARTTABLEAU = 7;
    public final static int HIN_NR_START_GLEICH_ERGEBNISTABLEAU = 8;
    

    // GUI-Konstanten
    public final static int FENSTERBREITE = 1010;
    public final static int FENSTERHOEHE = 700;

    public final static int FELDBREITE = 80;
    public final static int FELDHOEHE = 30;

    public final static int DEFAULTANZX = 3;
    public final static int DEFAULTANZZ = 3;

    public final static int VORKOMMA_ANZ = 6;
    public final static int NACHKOMMA_ANZ = 2;

    public final static int ZEILENABSTAND = 5;

    // Farben
    public final static Color CO_HINTERGRUNDZEILENBESCHRIFTUNG = new Color(220, 220, 220);
    public final static Color CO_HINTERGRUNDPIVOTZEILE = new Color(173, 216, 230);
    public final static Color CO_RAHMEN_FEHLENDEEINGABE = new Color(255, 0, 0);
    public final static Color CO_RAHMENTF_DEFAULT_AUSSEN = new Color(124, 124, 124);
    public final static Color CO_RAHMENTF_DEFAULT_INNEN = new Color(178, 178, 178);
    public final static Color CO_DEFAULT_lINIENRAHMEN_TF = new Color(122, 138, 153);
    public final static Color CO_lINIENRAHMEN_HINWEISFELD_ENABLED = new Color(184, 207, 229);

    public final static Color CO_SCHRIFT = Color.BLACK;
    public final static Color CO_HINTERGRUNDWEISS = Color.WHITE;

    public final static Color CO_DEFAULT_HINTERGRUND_PANEL = new Color(238, 238, 238);

    public final static Font TITEL_SCHRIFT = new Font("SanSerif", Font.BOLD, 22);

    public final static Dimension TABLEAU_PANEL_GROESSE = new Dimension(Config.FENSTERBREITE - 40,
            Config.FENSTERHOEHE - 300);
    public final static Dimension ANZEIGE_PANEL_GROESSE = new Dimension(970, 35);

    public final static Dimension BUTTON_GROESSE = new Dimension(165, 40);
    public final static Dimension BUTTON_GROESSE_PFEILE = new Dimension(40, 40);
    public final static Dimension TF_ITERATION_GROESSE = new Dimension(80, 40);

    public final static int LETZTES_TABLEAU = -1;

    public final static int KEIN_PIVOTELEMENT_INDEX = -1;

    public final static String PATTERN_EINGABE_GESAMT = "[-]?[0-9]{1," + VORKOMMA_ANZ + "}([.,][0-9]{1,"
            + NACHKOMMA_ANZ + "})?|[0-9]{0}";
    public final static String PATTERN_EINGABE_ITERATION = "[0-9]{0,10}";
    public final static String PATTERN_EINGABE_KOMMA_OHNE_ZAHL = "[-]?[0-9]{1," + VORKOMMA_ANZ + "}[.,]";
    public final static String PATTERN_EINGABE = "[-][0-9]{0," + VORKOMMA_ANZ + "}|" + PATTERN_EINGABE_KOMMA_OHNE_ZAHL
            + "|" + PATTERN_EINGABE_GESAMT;
    public final static String PATTERN_LETZTES_FELD = "[-]";
    public final static String PATTERN_ZAHL_OHNE_KOMMA = "[0-9]{1,6}";
    
    
    public final static int TIMER_LAUFZEIT = 5;
}
